;**********************************************************
;  Microchip Enhanced PIC16F1xxx C Compiler (CC16E), v1.00
;  Sun Jul 11 18:11:59 2021
;**********************************************************
	.invoke	"\iCC16e/include/pic16e"
	.invoke	"\iCC16e/include/p16f1455"

	.device	"p16f1455", 1024, 8192

_$$::	.rs	0x23F0	; stack init. value


	.segment	CODE2 (REL) foo:15
foo_$1_n:	.equ	foo_$data$+0
foo_$2_x:	.equ	foo_$data$+2
foo_$3_p1:	.equ	foo_$data$+3
foo_$4_p2:	.equ	foo_$data$+5
foo_$5_m:	.equ	foo_$data$+7
foo_$6_w:	.equ	foo_$data$+11
foo::
; :: logic.c #12: n = x & 100;
	.bsel	foo_$data$
	movf	foo_$2_x, W
	andlw	100
	movwf	foo_$1_n
	clrf	foo_$1_n+1
; :: logic.c #13: m = w & 0xff00ff00;
	clrf	foo_$5_m
	movf	foo_$6_w+1, W
	movwf	foo_$5_m+1
	clrf	foo_$5_m+2
	movf	foo_$6_w+3, W
	movwf	foo_$5_m+3
; :: logic.c #14: x = &n ^ 100;
	movlw	((foo_$1_n^100))
	movwf	foo_$2_x
; :: logic.c #15: PORTA = *p1 | *p2;
	movf	foo_$3_p1, W
	movwf	FSR0L
	movf	foo_$3_p1+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	movwf	112
	movf	foo_$4_p2, W
	movwf	FSR0L
	movf	foo_$4_p2+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	iorwf	112, W
	.bsel	foo_$data$, 12
	movwf	12
; :: logic.c #16: PORTA = *p1 & 100;
	.bsel	12, foo_$data$
	movf	foo_$3_p1, W
	movwf	FSR0L
	movf	foo_$3_p1+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	andlw	100
	.bsel	foo_$data$, 12
	movwf	12
; :: logic.c #17: PORTA = *p2 & (&n);
	.bsel	12, foo_$data$
	movf	foo_$4_p2, W
	movwf	FSR0L
	movf	foo_$4_p2+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	andlw	(foo_$1_n), W
	.bsel	foo_$data$, 12
	movwf	12
; :: logic.c #18: PORTA = tbl[0] & tbl[1];
	.psel	foo, tbl
	call	tbl
	movwf	112
	.psel	tbl, (tbl+1)
	call	(tbl+1)
	andwf	112, W
	movwf	12
	.psel	(tbl+1), foo
	return
; function(s) called::
	.fcall	foo, (tbl+1)
	.fcall	foo, tbl

	.end
